package com.kurumi.pojo.coding;

import java.math.BigDecimal;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.kurumi.util.StringUtil;

/**
 * 呼吸机使用名字
 * @author lyh
 *
 */
public class MedicalVentilatorRecord {
	

	/**
	 * 起始日期
	 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date usedStartDateTime;
	
	/**
	 * 终止日期
	 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date usedEndDateTime;
	
	/**
	 * 呼吸机使用总时长（小时）
	 */
	private BigDecimal usedHourNumber;
	
	/**
	 * ICU类型编号
	 */
	private String icuTypeCode;
	
	/**
	 * ICU类型名称
	 */
	private String icuTypeName;

	public Date getUsedStartDateTime() {
		return usedStartDateTime;
	}

	public void setUsedStartDateTime(Date usedStartDateTime) {
		this.usedStartDateTime = usedStartDateTime;
	}

	public Date getUsedEndDateTime() {
		return usedEndDateTime;
	}

	public void setUsedEndDateTime(Date usedEndDateTime) {
		this.usedEndDateTime = usedEndDateTime;
	}

	public BigDecimal getUsedHourNumber() {
		return usedHourNumber;
	}

	public void setUsedHourNumber(BigDecimal usedHourNumber) {
		this.usedHourNumber = usedHourNumber;
	}

	public String getIcuTypeCode() {
		return StringUtil.meaningStr(icuTypeCode);
	}

	public void setIcuTypeCode(String icuTypeCode) {
		this.icuTypeCode = icuTypeCode;
	}

	public String getIcuTypeName() {
		return icuTypeName;
	}

	public void setIcuTypeName(String icuTypeName) {
		this.icuTypeName = icuTypeName;
	}
	
	@JsonIgnore
	public boolean isEmpty(){
		this.checkDateTime();
		if(this.getIcuTypeCode() == null && this.getUsedStartDateTime() == null && this.getUsedHourNumber() == null){
			return true;
		}
		return false;
	}
	
	private void checkDateTime(){
		if(this.usedStartDateTime == null){
			this.usedEndDateTime = null;
		}else if(this.usedEndDateTime == null){
			this.usedStartDateTime = null;
		}
	}
	
}
